libxl: Remus - suspend/postflush/commit callbacks
authorShriram Rajagopalan <rshriram@cs.ubc.ca>
Fri, 18 May 2012 10:00:44 +0000 (11:00 +0100)
committerShriram Rajagopalan <rshriram@cs.ubc.ca>
Fri, 18 May 2012 10:00:44 +0000 (11:00 +0100)
commitd473b016fb7ab10d46fcfb37f990037ac0368a35
treeb866f568950dfc367a1e2121eab72a78c6304505
parentbea0ff6e774d171bf6acb451f75dc194f4002782
libxl: Remus - suspend/postflush/commit callbacks

 * Add libxl callback functions for Remus checkpoint suspend, postflush
   (aka resume) and checkpoint commit callbacks.
 * suspend callback is a stub that just bounces off
   libxl__domain_suspend_common_callback - which suspends the domain and
   saves the devices model state to a file.
 * resume callback currently just resumes the domain (and the device model).
 * commit callback just writes out the saved device model state to the
   network and sleeps for the checkpoint interval.
 * Introduce a new public API, libxl_domain_remus_start (currently a stub)
   that sets up the network and disk buffer and initiates continuous
   checkpointing.

 * Future patches will augment these callbacks/functions with more functionalities
   like issuing network buffer plug/unplug commands, disk checkpoint commands, etc.

Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxc/xenguest.h
tools/libxl/libxl.c
tools/libxl/libxl.h
tools/libxl/libxl_dom.c
tools/libxl/libxl_internal.h
tools/libxl/libxl_types.idl